<template>
	<view>
		<view style="font-size: 24rpx;">数量</view>
		<view class="charts-box">
			<qiun-data-charts type="column" :opts="opts" :chartData="chartData" />
		</view>
		<!-- <view class="year">2025</view> -->
	</view>
</template>

<script>
	import {
		hazardline
	} from '@/api/index.js'
	export default {
		props:['year'],
		data() {
			return {
				chartData: {},
				//您可以通过修改 config-ucharts.js 文件中下标为 ['column'] 的节点来配置全局默认参数，如都是默认参数，此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式，达到页面简洁的需求。
				opts: {
					dataLabel: false,
					color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
						"#ea7ccc"
					],
					padding: [15, 15, 0, 5],
					enableScroll: false,
					legend: {},
					xAxis: {
						disableGrid: true
					},
					yAxis: {
						data: [{
							min: 0
						}]
					},
					extra: {
						column: {
							type: "group",
							width: 8,
							activeBgColor: "#000000",
							activeBgOpacity: 0.08
						}
					}
				}
			};
		},
		mounted() {
			this.getServerData();
		},
		watch:{
			year(){
				this.getServerData();
			}
		},
		methods: {
			getServerData() {
				hazardline(this.year).then(res => {
					const formattedData = this.transformInspectionData(res.data);
					this.chartData = JSON.parse(JSON.stringify(formattedData));

				})

			},
			transformInspectionData(rawData) {
				// 提取月份简写作为categories  
				const categories = rawData.map(item => item.month.slice(-2));

				// 构建series数据结构  
				const series = [{
						name: "发现",
						data: rawData.map(item => item.discovered)
					},
					{
						name: "整改",
						data: rawData.map(item => item.rectified)
					}
				];

				return {
					categories,
					series
				};
			}
		}
	};
</script>

<style scoped>
	/* 请根据实际需求修改父元素尺寸，组件自动识别宽高 */
	.charts-box {
		width: 100%;
		height: 400rpx;
	}

	.year {
		text-align: center;
	}
</style>